Edge 浏览器 RCE 漏洞 PoC 已发布
翻译:360代码卫士团队
微软本月推出的安全更新中包含 Edge 浏览器中出现的远程代码执行漏洞。该漏洞依靠的是能通过用户定义参数运行的 Windows 中的 URI 模式和脚本。
该漏洞的编号是 CVE-2018-8495,是由安全研究员 Abdulrahman Al-Qabandi 发现的。他发现 Outlook 启动时出现某个定制化参数,因此调查始于 Edge 对“mailto” URI 模式的简单响应。搜索了接受用户定义命令的可执行文件的 Windows 注册表后,Al-Qabandi 发现 Windows Script Host (‘WScript.exe’) 可以多种语言执行脚本。在 Edge 浏览器中测试 URI 模式时,操作系统的第一个响应是要求某 app 用户处理该程序,而WSH 是默认处理器。
有了能够执行位于用户定义路径下文件的受支持 URI 模块后,研究员测试是否可通过路径遍历让 WSH 从任意位置加载 VBScript,结果确实是这样。他在 write-up 中指出,“太棒了!现在我们可指向任意目录中的任意文件,只要我们能在可预测位置中释放文件,就能获得 RCE。”
需要知道可预测的位置
然而,Edge 将文件缓存至不可预测的位置,因此,除非能够让通过 URI模块代码所调用的 VBScript 接受可被构造为在已知位置启动文件的参数,否则所有的研究都是徒劳。好在此前的研究结果展示了如何通过源自“WSH 注入”获得的签名 VBScript 实现这一目标,另外,这些研究结果还具体说明了 Windows 中存在的类似案例。
Al-Qabandi 找到的接受用户定义参数的 VBScript 生成了‘SyncAppvPublishingServer.vbs’。该文件也可通过 PowerShell 执行命令,而无需过滤。用户无法看到该进程,只能看到终端结果,因为 PowerShell 以‘-WindowStyle Hidden’的命令行参数运行。
已出现 PoC 代码片段
让人惊喜的是,Edge 浏览器并未清洁双引号,因此攻击者能够将多个参数传递至‘WScript.exe’。
为了演示自己的研究结果,Al-Qabandi 创建了包含自动处理请求用户选择处理 URI 模块的应用程序的提示的解决方案。
Al-Qabandi 通过趋势科技 ZDI 计划将问题告知微软。
推荐阅读
原文链接
https://www.bleepingcomputer.com/news/security/poc-code-available-for-microsoft-edge-remote-code-execution-bug/
本文由360代码卫士编译,不代表360观点,转载请注明 “转自360代码卫士www.codesafe.cn”。